﻿// 4412. 构造数组.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4415/

给定一个长度为 n
 的整数数组 a1,a2,…,an
。

请你构造长度为 n
 的整数数组 b1,b2,…,bn
，要求数组 b
 满足：

b1=0
。
对于任意一对索引 i
 和 j
（1≤i,j≤n
），如果 ai=aj
 则 bi=bj
（注意，如果 ai≠aj
，则 bi
 和 bj
 相等与否随意）。
对于任意索引 i
（i∈[1,n−1]
），要么满足 bi=bi+1
，要么满足 bi+1=bi+1
。
请计算，一共可以构造出多少个不同的满足条件的数组 b
。

由于答案可能很大，你只需要输出对 998244353
 取模后的结果。

例如，如果 a=[1,2,1,2,3]
，则一共有 2
 个满足条件的数组 b
，分别是 b=[0,0,0,0,0]
 和 b=[0,0,0,0,1]
。

输入格式
第一行包含一个整数 n
。

第二行包含 n
 个整数 a1,a2,…,an
。

输出格式
一个整数，表示对 998244353
 取模后的结果。

数据范围
前 3
 个测试点满足 2≤n≤5
。
所有测试点满足 2≤n≤2×105
，1≤ai≤109
。

输入样例1：
5
1 2 1 2 3
输出样例1：
2
输入样例2：
2
100 1
输出样例2：
2
输入样例3：
4
1 3 3 7
输出样例3：
4
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 